/*************************************************************************
    > File Name: client.cpp
    > Author: Lancer
    > Mail: 18826075768@163.com
************************************************************************/

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string>
#include <jsoncpp/json/json.h>

using namespace std;

int main(){
    Json::Value jt;
    jt["name"] = Json::Value("lancer");
    jt["age"] = Json::Value(18);

    Json::Value root;
    root["key_string"] = Json::Value("value_string");
    root["key_number"] = Json::Value(12345);
    root["key_boolean"] = Json::Value(false);
    root["key_double"] = Json::Value(12.345);
    root["key_object"] = jt;
    root["key_array"].append("array_string");
    root["key_array"].append(1234);
    
    Json::FastWriter fw;
    cout << fw.write(root);

    Json::StyledWriter sw;
    cout << sw.write(root);

    string s = "{\"id\":1,\"name\":\"pacozhong\"}";
    Json:: Reader r;
    Json::Value val;
    if(!r.parse(s, val)){
        return 0;
    }
    string vn = val["name"].asString();
    cout << vn << endl;
    cout << val["name"];
    if(!val["id"].isInt()){
        cout << "id is not int" <<endl;
    }
    else{
        int ival = val["id"].asInt();
        cout << ival << endl;
    }
    
    return 0;
}